/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.brain.sgc.manager;

import com.brain.core.dto.ParametroDto;
import com.brain.core.exception.DAOException;
import com.brain.core.hibernate.dao.DAOGenerico;
import com.brain.core.manager.ComunManager;
import com.brain.core.manager.RecursosManager;
import com.brain.sgc.dto.MofIdiomaDto;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;

/**
 *
 * @author Christian
 */
@Service
public class MofIdiomaManager extends ComunManager<MofIdiomaDto> implements Serializable {
    @Resource
    private DAOGenerico<MofIdiomaDto> springHibernateDao;
    private static Logger logger = Logger.getLogger(MofIdiomaManager.class);
    @Resource
    private RecursosManager recursosManager;
    
    public MofIdiomaDto inicializar() {
        MofIdiomaDto mofIdiomaDto = new MofIdiomaDto();
        return mofIdiomaDto;
    }
    
    public List<MofIdiomaDto> obtenerMofIdiomaPorDto(MofIdiomaDto dto) throws DAOException {
        List<Object> listaParametros = new ArrayList<Object>();
        String hqsql = "select i from MofIdiomaDto as i where ";
        hqsql += " i.idiomaDto.id = " +  dto.getIdiomaDto().getId();
        hqsql += " and i.escrito = '" +  dto.getEscrito() + "'";
        hqsql += " and i.oral = '" +  dto.getOral() + "'";
        hqsql += " and i.puestoDto.id = " +  dto.getPuestoDto().getId();
        return springHibernateDao.ejecutarQuery(hqsql, listaParametros);
    }
    
    public int obtenerCantidad(MofIdiomaDto idioma) throws DAOException {
        List<Object> listaParametros = new ArrayList<Object>();
        String hqsql = "select count(i.id) from MofIdiomaDto as i ";
        hqsql += " where i.idiomaDto.id = ? and i.puestoDto.id = ? ";
        listaParametros.add(idioma.getIdiomaDto().getId());
        listaParametros.add(idioma.getPuestoDto().getId());
        return Integer.parseInt(springHibernateDao.ejecutarQueryGeneric(hqsql, listaParametros).get(0).toString());
    }
}
